home *** CD-ROM | disk | FTP | other *** search
- class Fixed {
- public static final int Mul(int var0, int var1) {
- long var2 = (long)var0;
- long var4 = (long)var1;
- var2 <<= 16;
- var2 *= var4;
- var2 >>>= 32;
- var0 = (int)var2;
- return var0;
- }
-
- public static final int Div(int var0, int var1) {
- long var2 = (long)var0;
- long var4 = (long)var1;
- var2 <<= 16;
- var2 /= var4;
- var0 = (int)var2;
- return var0;
- }
-
- public static final short FixedToAngle(int var0) {
- short var1 = (short)((var0 & 16776960) >>> 8);
- return var1;
- }
-
- public static final int AngleToFixed(short var0) {
- int var1 = var0 << 8;
- return var1;
- }
-
- public static final int getDistance(int var0, int var1, int var2, int var3) {
- double var5 = (double)var0 / (double)65536.0F;
- double var7 = (double)var1 / (double)65536.0F;
- double var9 = (double)var2 / (double)65536.0F;
- double var11 = (double)var3 / (double)65536.0F;
- double var13 = (var9 - var5) * (var9 - var5);
- double var15 = (var11 - var7) * (var11 - var7);
- int var4 = (int)(Math.sqrt(var13 + var15) * (double)65536.0F);
- return var4;
- }
-
- public static final short getDir(int var0, int var1, int var2, int var3) {
- short var4 = 0;
- int var5 = var2 - var0;
- int var6 = var3 - var1;
- int var7 = Math.abs(var5);
- int var8 = Math.abs(var6);
- if (var7 == 0) {
- ++var7;
- }
-
- if (var8 == 0) {
- ++var8;
- }
-
- if (var5 > 0) {
- if (var6 > 0) {
- if (var7 < var8) {
- var4 = (short)ATan(var7, var8);
- } else {
- var4 = (short)(16384 - ATan(var8, var7));
- }
- } else if (var7 > var8) {
- var4 = (short)(16384 + ATan(var8, var7));
- } else {
- var4 = (short)('ΦÇÇ' - ATan(var7, var8));
- }
- } else if (var6 < 0) {
- if (var7 < var8) {
- var4 = (short)('ΦÇÇ' + ATan(var7, var8));
- } else {
- var4 = (short)('쀀' - ATan(var8, var7));
- }
- } else if (var7 > var8) {
- var4 = (short)('쀀' + ATan(var8, var7));
- } else {
- var4 = (short)(-ATan(var7, var8));
- }
-
- return var4;
- }
-
- public static final Position Rot(Position var0, Position var1, short var2) {
- int var7 = var0.getX();
- int var8 = var0.getY();
- int var9 = var1.getX();
- int var10 = var1.getY();
- int var11 = var9 - var7;
- int var12 = var10 - var8;
- int var5 = Sin(var2);
- int var6 = Cos(var2);
- int var3 = Mul(var6, var11) - Mul(var5, var12) + var7;
- int var4 = Mul(var5, var11) + Mul(var6, var12) + var8;
- return new Position(var3, var4, 0);
- }
-
- public static final int Sqrt(int var0) {
- return (int)(Math.sqrt((double)var0 / (double)65536.0F) * (double)65536.0F);
- }
-
- public static final int Sin(short var0) {
- return (int)(Math.sin((double)var0 / (double)32768.0F * Math.PI) * (double)65536.0F);
- }
-
- public static final int Cos(short var0) {
- return (int)(Math.cos((double)var0 / (double)32768.0F * Math.PI) * (double)65536.0F);
- }
-
- public static final int Tan(short var0) {
- return (int)(Math.tan((double)var0 / (double)32768.0F * Math.PI) * (double)65536.0F);
- }
-
- public static final short ATan(int var0, int var1) {
- return (short)(Div(var0, var1) >> 3);
- }
-
- public static final int Random() {
- return (int)(Math.random() * (double)65536.0F);
- }
- }
-